package Mtest;

public class JAVA2024_4_30 {
//    1 数据库三大范式
    /**
     * 1 数据库三大范式
     * 第一范式 原子性 储存的数据应该具有不可再分性
     * 第二范式 唯一性 消除非主键部分依赖联合主键中的部分字段 一定要在满足第一范式的条件的情况下
     *              需要实现每一行数据的唯一可索引 不能有部份依赖
     *              例如: A B依赖于A C依赖于AB这是可以的 但是C只依赖于A或B称为部份依赖
     *              措施 将部份依赖的部分提取出来单独储存制表 满足第二范式要求
     * 第三范式 独立性 消除传递依赖 非主键值不依赖于另一个非主键值
     *              措施 将传递依赖的部分做成另一个表格储存 满足第三范式要求
     *
     * 要使用后面的范式 必须满足前面所有范式要求才可以使用
     */
    /**
     * 总结 范式只是一种规范 但是不是万能规范 需要满足所有范式要求 不过建议满足第一第二范式
     *     满足第三范式可以减少数据库的冗余
     *     有时为需求还要故意违反范式
     */
//    2 查询的时候只提取前50名 如何使用SQL语句
    /*
        2 查询的时候只提取前50名 如何使用SQL语句
        SELECT * FROM 表名
        ORDER BY 列名 (DESC/ASC)
        LIMIT 50
        这样符合需求 无论什么场景都可以满足 但是有性能优化问题

        LIMIT
            单值形式 LIMIT number 指定查询结果一共返回的记录数
            双值形式 LIMIT number,number 指定查询结果返回的记录数和记录的起始位置
     */
}
